home *** CD-ROM | disk | FTP | other *** search
- /*
- For general Scribus (>=1.3.2) copyright and licensing information please refer
- to the COPYING file provided with the program. Following this notice may exist
- a copyright and/or license notice that predates the release of Scribus 1.3.2
- for which a new license (GPL+exception) is in place.
- */
- /***************************************************************************
- * *
- * This program is free software; you can redistribute it and/or modify *
- * it under the terms of the GNU General Public License as published by *
- * the Free Software Foundation; either version 2 of the License, or *
- * (at your option) any later version. *
- * *
- ***************************************************************************/
-
-
-
- #ifndef CANVAS_GESTURE_H
- #define CANVAS_GESTURE_H
-
- #include "scribusapi.h"
- #include "canvasmode.h"
-
- class QDragEnterEvent;
- class QDragMoveEvent;
- class QDragLeaveEvent;
- class QDropEvent;
- class QEvent;
- class QInputMethodEvent;
- class QMouseEvent;
- class QKeyEvent;
- class QPainter;
-
- class Canvas;
- struct CanvasViewMode;
- class ScribusDoc;
- class ScribusView;
-
-
-
- /**
- This class is a superclass for canvas gestures. CanvasGestures are
- temporary canvasmodes which have a pointer to the CanvasMode in which they
- started. ScribusView::stopGesture() will return control to that mode.
- By default, all events are delegated to the canvas mode.
- */
- class SCRIBUS_API CanvasGesture : public CanvasMode
- {
- protected:
- CanvasGesture (CanvasMode* parent) : CanvasMode(parent->view()), m_delegate(parent) {};
- CanvasGesture (ScribusView* view) : CanvasMode(view), m_delegate(NULL) {};
-
- public:
- virtual void enterEvent(QEvent * e) { m_delegate->enterEvent(e); }
- virtual void leaveEvent(QEvent * e) { m_delegate->leaveEvent(e); }
-
- virtual void dragEnterEvent(QDragEnterEvent *e) { m_delegate->dragEnterEvent(e); }
- virtual void dragMoveEvent(QDragMoveEvent *e) { m_delegate->dragMoveEvent(e); }
- virtual void dragLeaveEvent(QDragLeaveEvent *e) { m_delegate->dragLeaveEvent(e); }
- virtual void dropEvent(QDropEvent *e) { m_delegate->dropEvent(e); }
-
- virtual void mouseDoubleClickEvent(QMouseEvent *m) { m_delegate->mouseDoubleClickEvent(m); }
- virtual void mouseReleaseEvent(QMouseEvent *m) { m_delegate->mouseReleaseEvent(m); }
- virtual void mouseMoveEvent(QMouseEvent *m) { m_delegate->mouseMoveEvent(m); }
- virtual void mousePressEvent(QMouseEvent *m) { m_delegate->mousePressEvent(m); }
-
- virtual void keyPressEvent(QKeyEvent *e) { m_delegate->keyPressEvent(e); }
- virtual void keyReleaseEvent(QKeyEvent *e) { m_delegate->keyReleaseEvent(e); }
- virtual void inputMethodEvent(QInputMethodEvent *e) { m_delegate->inputMethodEvent(e); }
-
- CanvasMode* delegate() { return m_delegate; }
- void setDelegate(CanvasMode* delegate) { if (delegate) m_delegate = delegate; }
-
- protected:
- CanvasMode* m_delegate;
- };
-
-
- #endif
-